package cn.heyige.backend.service;

import cn.heyige.backend.dto.DivinationResult;

/**
 * 占卜服务接口 - 精简版
 *
 * 专注于核心占卜功能，提高系统性能和可维护性
 *
 * @author CodeBuddy
 */
public interface DivinationService {

    /**
     * 执行起卦
     *
     * @param userId 用户ID
     * @param num 用户输入的随机数
     * @param mood 心情状态
     * @param question 问题
     * @return 占卜结果
     */
    DivinationResult performTimeDivination(Integer userId, Integer num, Integer mood, String question);

    /**
     * 使用AI解读卦象
     *
     * @param divinationResult 占卜结果
     * @param question 问题（可选）
     * @return AI解读结果
     */
    String interpretDivination(DivinationResult divinationResult, String question);

    /**
     * 获取历史占卜记录
     *
     * @param userId 用户ID
     * @param pageNum 当前页
     * @param pageSize 页大小
     * @return 占卜结果列表
     */
    DivinationResult[] getDivinationHistory(Integer userId, Integer pageNum, Integer pageSize);

    /**
     * 删除占卜记录
     *
     * @param userId 用户ID
     * @param divinationId 占卜记录ID
     * @return 是否删除成功
     */
    boolean deleteDivinationRecord(Integer userId, Long divinationId);
}